home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 47.7z / BS1 part 47 / ImageMaster RT v1.50b (1994)(Black Belt Systems)(Disk 4 of 7)[HD].7z / ImageMaster RT v1.50b (1994)(Black Belt Systems)(Disk 4 of 7)[HD].adf / apa.lzh.parta / hlp_arexx11 < prev    next >
Text File  |  1994-04-19  |  31KB  |  1,222 lines

  1. \ApAssist
  2. \: - This is the Quick Help for the ARexx in IM R/t -
  3. \: ----------------------------------------------------------
  4. \:   Written by David E. Patterson
  5. \: ----------------------------------------------------------
  6.  
  7. \font topaz.font 8
  8. \tc 1
  9. \wr
  10. \lj
  11. \dd "imh_descriptor"
  12.  
  13. \index "hlp_arexx2/setmulti-undo"
  14. \toc "imh_toc/toc"
  15. \help "aa_help/help
  16.  
  17. \node "settocolor"
  18. \title "Set to color"
  19. \next "shade"
  20. \prev ""
  21. \{ \tc 15 Settocolor \} - Colorizes black and white images
  22. \nw
  23.  
  24. Usage - '\{ \tc 15 settocolor <red> <green> <blue>\} '
  25.     
  26. \{ \ts bu Sample Script\} :
  27.     
  28. 'area';
  29. '\{ \tc 15 settocolor 34 80 200\} ';
  30.     
  31. * User Interface: \{ \tc 15   Process Panel
  32.                         Standard Adjustments
  33.                             Set to Color\}
  34.  
  35. \endnode
  36.  
  37. \node "shade"
  38. \title "Shade"
  39. \next "sharp"
  40. \prev "settocolor"
  41. \{ \tc 15 Shade \} - Shades the selected region
  42.  
  43. Uses the secondary buffer image to control the shading of the primary buffer. 
  44.     
  45. \nw    
  46. Usage - '\{ \tc 15 shade <effect>\} '; 
  47.      
  48. \{ \tc 15 Effect:     0 to 100\}
  49.     
  50. \{ \ts bu Sample Script\} :
  51.     
  52. 'area';
  53. '\{ \tc 15 shade 80\} ';
  54.     
  55. \endnode
  56.  
  57. \node "sharp"
  58. \title "Sharp"
  59. \next "shear"
  60. \prev "shade"
  61. \{ \tc 15 Sharp \} - Applies a sharpening convolution.
  62.     
  63. Applies a sharpening convolution (3X3) to a selected region.
  64.     
  65. \nw    
  66. Usage - '\{ \tc 15 sharp <effect>\} '
  67.     
  68. \{ \tc 15 Effect: 0 to 100\}
  69.     
  70. \{ \ts bu Sample Script\} :
  71.     
  72. 'area';
  73. '\{ \tc 15 sharp 80\} ';
  74.     
  75. * User Interface: \{ \tc 15   Process Panel
  76.                         Filters
  77.                             Sharpen\}
  78.     
  79. \endnode
  80.  
  81. \node "shear"
  82. \title "Shear"
  83. \next "shgeog"
  84. \prev "sharp"
  85. \{ \tc 15 Shear \} - Creates a shearing effect.
  86.  
  87. \nw    
  88. Usage - '\{ \tc 15 shear <length>\} '
  89.     
  90. \{ \ts bu Sample Script\} :
  91.     
  92. 'area';
  93. '\{ \tc 15 shear 20\} ';
  94.     
  95. * User Interface: \{ \tc 15   Process Panel
  96.                          Special Effects
  97.                              Shear\}
  98.  
  99. \endnode
  100.  
  101. \node "shgeog"
  102. \title "Shadowed Elevation"
  103. \next "shine"
  104. \prev "shear"
  105. \{ \tc 15 Shgeog \} - Creates a shadowed Geographic Elevation.
  106.  
  107. \nw    
  108. Usage - '\{ \tc 15 shgeog <sealevel>\} '
  109.     
  110. \{ \ts bu Sample Script\} :
  111.     
  112. options results;
  113. 'askprop Sealevel: 127 0 255';
  114. 'sealevel = result';
  115. options;
  116. 'area';
  117. '\{ \tc 15 shgeog\} ' sealevel;
  118.     
  119. See Also: \{ \ts b \link "geog" "hlp_arexx7/geog"\}
  120.     
  121. * User Interface: \{ \tc 15   Process Panel
  122.                         Special Effects
  123.                             Shadowed Elevations\}
  124.  
  125. \endnode
  126.  
  127. \node "shine"
  128. \title "Make Shine"
  129. \next "simpload"
  130. \prev "shgeog"
  131. \{ \tc 15 Shine \} - Creates an effect similar to a star camera lens.
  132.  
  133. \nw    
  134. Usage - '\{ \tc 15 shine <amount> <length>\} '
  135.     
  136. \{ \ts bu Sample Script\} :
  137.     
  138. 'area';
  139. options results;
  140. 'askprop Amount: 50 0 100';
  141. amount = result;
  142. 'askprop length: 100 0 200';
  143. length = result;
  144. options;
  145. '\{ \tc 15 shine \} 'amount length;
  146.     
  147. * User Interface: \{ \tc 15   Process Panel 
  148.                         Special Effects
  149.                             Make Shine\}
  150.                                 
  151. \endnode
  152.  
  153. \node "simpload"
  154. \title "Simpload"
  155. \next "sine"
  156. \prev "shine"
  157. \{ \tc 15 Load \} - Loads an image to an untargeted buffer.
  158.  
  159. Uses the current image path and extension and to load an image. 
  160.     
  161. \nw    
  162. Usage - '\{ \tc 15 simpload <filename>\} '
  163.     
  164. \{ \ts bu Sample Script\} :
  165.  
  166. options results;
  167. 'askstring "Buffername:" "myfile"'name;
  168. name = result;
  169. options;
  170. '\{ \tc 15 simpload\} ' name;
  171. \endnode
  172.  
  173. \node "sine"
  174. \title "Sine"
  175. \next "smear"
  176. \prev "simpload"
  177. \{ \tc 15 Sine \} - Creates a sine wave distortion in a selected area.
  178.  
  179. \nw
  180. Usage - '\{ \tc 15 sine <horizontal%> <horizontal-period>
  181.                   <vertical%> <vertical-period>\} '
  182.     
  183. \{ \ts bu Sample Script\} :
  184.     
  185. 'area';
  186. options results;
  187. 'askprop Horizontal_Effect: 50 0 100';
  188. heffect = result;
  189. 'askprop Horizontal_Period: 150 0 300';
  190. Hperiod = result;
  191. 'askprop Vertical_Effect: 50 0 100';
  192. Veffect = result;
  193. 'askprop Vertical_Period: 150 0 300';
  194. Vperiod = result;
  195. options;
  196. '\{ \tc 15 sine\} ' heffect hperiod veffect vperiod ;
  197.     
  198. * User Interface: \{ \tc 15   Process Panel
  199.                         Geometric Transformations
  200.                             Wave Distort\}
  201.         
  202. \endnode
  203.  
  204. \node "smear"
  205. \title "Smear"
  206. \next "smearamount"
  207. \prev "sine"
  208. \{ \tc 15 Smear \} - Smears a selected region.
  209.  
  210. \nw    
  211. Usage - '\{ \tc 15 smear <effect>\} '
  212.     
  213. \{ \ts bu Sample Script\} :
  214.     
  215. 'area';
  216. '\{ \tc 15 smear 60\} ';
  217.  
  218. * User Interface: \{ \tc 15   Process Panel
  219.                          Filters
  220.                              Smear\}
  221. \endnode
  222.  
  223. \node "smearamount"
  224. \title "Smearamount"
  225. \next "smoothrange"
  226. \prev "smear"
  227. \{ \tc 15 Smearamount \} - This command is used to set the smear amount for
  228. the absorbing brush draw mode.  The smear amount is a numeric value between 0
  229. and 100.  A setting of 0 will produce no smearing, and a setting of 100 will
  230. produce the maximum amount of smear.
  231.  
  232. \nw    
  233. Usage - '\{ \tc 15 smearamount <amount>\} '
  234.     
  235. \{ \ts bu Sample Script\} :
  236. /* arexx Linemode Example */
  237. address('IM_Port');
  238. 'newline';
  239. 'linemode absorb';
  240. '\{ \tc 15 smearamount 56\} ';
  241. 'move 320 0';
  242. 'draw 0 200';
  243. 'stroke';
  244. 'finish';
  245.  
  246. \endnode
  247.  
  248. \node "smoothrange"
  249. \title "Smoothrange"
  250. \next "solar"
  251. \prev "smearamount"
  252. \{ \tc 15 Smoothrange \} - This command will turn the smooth range control on
  253. and off.  If the control is on, the selected range will be smoothed.  If the
  254. control is off, the selected range will not be smoothed.
  255.  
  256. \nw    
  257. Usage - '\{ \tc 15 autosmooth <mode>\} '
  258.  
  259. Where the mode is auto smooth on or off (1 or 0). 
  260.  
  261. \{ \ts bu Sample Script\} :
  262. /* arexx Linemode Example */
  263. address('IM_Port');
  264. 'newline';
  265. '\{ \tc 15 smoothrange 1\} ';
  266. 'autosize';
  267. 'linemode 1';
  268. 'move 30 30';
  269. 'draw 30 270';
  270. 'stroke';
  271. 'finish';
  272.  
  273. \endnode
  274.  
  275. \node "solar"
  276. \title "Solarize"
  277. \next "spiral"
  278. \prev "smoothrange"
  279. \{ \tc 15 Solar \} - Solarizes selected region.
  280.  
  281. Changes the image colors based on the monochrome brightness, to a range with
  282. blue representing darker pixels, green representing middle grey levels, and
  283. red representing brighter pixels.
  284.  
  285. \nw    
  286. Usage - '\{ \tc 15 solar\} '
  287.     
  288. \{ \ts bu Sample Script\} :
  289.     
  290. 'area';    
  291. '\{ \tc 15 solar\} ';
  292.     
  293. * User Interface: \{ \tc 15   Process Panel 
  294.                         Special Effects 
  295.                             Solarize\}
  296.  
  297. \endnode
  298.  
  299. \node "spiral"
  300. \title "Spiral Blur"
  301. \next "startwet"
  302. \prev "solar"
  303. \{ \tc 15 Spiral \} - Creates a spiral motion blur.
  304.  
  305. \nw    
  306. Usage - '\{ \tc 15 spiral <direction> <amount>\} '
  307.     
  308. \{ \ts bu Sample Script:\}
  309.     
  310. 'area';
  311. options results;
  312. 'askyn Outwards Inwards';
  313. direction = result;
  314. 'askprop Effect: 50 0 100';
  315. effect = result;
  316. options;
  317. '\{ \tc 15 spiral\} ' direction effect;
  318.     
  319. * User Interface: \{ \tc 15   Process Panel
  320.                         Geometric Transformations
  321.                             Spiral Blur\}
  322.  
  323. \endnode
  324.  
  325. \node "startwet"
  326. \title "Start Wet"
  327. \next "stepped"
  328. \prev "spiral"
  329. \{ \tc 15 Startwet \} - This control will turn the absorbing brush wetness on
  330. or off.  If this command is on, the brush will start "full of paint".  This
  331. means that the absorbing brush will begin with the initial color of the
  332. brush, and gradually absorb paint from the image as the brush is moved.  If
  333. this control is off, the brush will start with no paint.  This will produce
  334. an effect that is similar to pulling a dry brush through wet paint.
  335.  
  336. \nw    
  337. Usage - '\{ \tc 15 startwet ON/OFF\} ' or '\{ \tc 15 startwet 1/0\} ' 
  338.  
  339. \{ \ts bu Sample Script\} :
  340.  
  341. /* arexx startwet Example */
  342. address('IM_Port');
  343. 'newline';
  344. 'linemode absorb';
  345. 'smearamount 56';
  346. 'startwet on';
  347. 'move 0 0';
  348. 'draw 320 400';
  349. 'stroke';
  350. 'finish';
  351.  
  352. \endnode
  353.  
  354. \node "stepped"
  355. \title "Stepped Zoom"
  356. \next "stopseq"
  357. \prev "startwet"
  358. \{ \tc 15 Stepped \} - Clips region and rescales it to another buffer.
  359.  
  360. \nw
  361. Usage - '\{ \tc 15 stepped <Xzoom> <Yzoom> [new name]\} '
  362.     
  363. Xzoom:      1 = Horizontal reduced by half
  364.             2 = No horizontal change
  365.             3 = Horizontal enlarged by 2 times
  366.              
  367. Yzoom:      1 = Vertical reduced by half
  368.             2 = No Vertical change
  369.             3 = Vertical enlarged by 2 times
  370.                 
  371. New Name:   Optional name for new buffer
  372.     
  373. \{ \ts bu Sample Script\} :
  374.     
  375. 'area';
  376. options results;
  377. 'gadgets "Horizontal","Reduced by .5" "NO" "Horizontal Change"
  378.   "Horizontal","Enlarged by 2 X"'; 
  379. Xzoom = result;
  380. 'gadgets "Vertical","Reduced by .5" "NO" "Vertical Change"
  381.   "Vertical","Enlarged by 2 X"'; 
  382. Yzoom = result;
  383. options;
  384. '\{ \tc 15 stepped\} ' xzoom yzoom steppedbuff;
  385.  
  386. * User Interface: \{ \tc 15   Process Panel
  387.                         Re-sizing and Clipping
  388.                             Zoom Clip\}
  389.                             
  390. \endnode
  391.  
  392. \node "stopseq"
  393. \title "Stop Sequence"
  394. \next "stretch"
  395. \prev "stepped"
  396. \{ \tc 15 Stopeseq \} - Stops the multiframe sequencer from continuing.  This
  397. command can be useful for error message handeling in the sequencer.
  398.  
  399. \nw
  400. Usage - '\{ \tc 15 stopseq\} '
  401.  
  402. \endnode
  403.  
  404. \node "stretch"
  405. \title "Stretch"
  406. \next "stroke"
  407. \prev "stopseq"
  408. \{ \tc 15 Stretch \} - Clips region and resizes it to a new buffer.
  409.  
  410. \nw    
  411. Usage - '\{ \tc 15 stretch <xsize> <ysize> [new_name]\} '
  412.     
  413. \{ \ts bu Sample Script\} :
  414.     
  415. 'area';
  416. '\{ \tc 15 stretch 640 400 MyClip\} ';
  417.     
  418. * User Interface: \{ \tc 15   Process Panel
  419.                         Re-sizing and Clipping
  420.                             Strech Clip\}
  421.  
  422. \endnode
  423.  
  424. \node "stroke"
  425. \title "Stroke"
  426. \next "sub"
  427. \prev "stretch"
  428. \{ \tc 15 Stroke \} - The stroke command is used with the move and draw
  429. commands to paint a line using ARexx.  The stroke command should follow any
  430. sequence od move and draw commands.  When it is called Imagemaster will
  431. redraw the image at that time.  Remember, you can use several move and draw
  432. commands to create complex polylines and shapes.  The stroke command can also
  433. be used with the ishape command to paint areas specified by an IShape.
  434.  
  435. \nw    
  436. Usage - '\{ \tc 15 stroke\} '
  437.  
  438. \{ \ts bu Sample Script\} :
  439. /* arexx Painting Example */
  440. address('IM_Port');
  441. options results;
  442. 'askprop "Initial X Position: " 100 0 320';
  443. x1 = result;
  444. 'askprop "Initial Y Position: "100 0 200';
  445. y1 = result;
  446. 'askprop "Final X Position: " 100 0 320';
  447. x2 = result;
  448. 'askprop "Final Y Position: " 100 0 200';
  449. y2 = result;
  450. 'askprop "Specify the Pressure Amount: " 100 0 255';
  451. press = result;
  452. options;
  453. 'newline';
  454. 'move ' x1 y1;
  455. 'draw ' x2 y2 press;
  456. '\{ \tc darkblue stroke\} ';
  457. 'finish';
  458.  
  459. Related ARexx Commands: \{ \ts b \link " move " "imdoc:hlp_arexx9/move"
  460.                         \link " draw " "imdoc:hlp_arexx6/draw"
  461.                         \link "ishape" "imdoc:hlp_arexx7/ishape" \}
  462.  
  463. \endnode
  464.  
  465. \node "sub"
  466. \title "Subtract"
  467. \next "swirl"
  468. \prev "stroke"
  469. \{ \tc 15 Sub \} - Subtracts the secondary buffer from the primary buffer.
  470.  
  471. \nw    
  472. Usage - '\{ \tc 15 sub\} '
  473.     
  474. \{ \ts bu Sample Script\} :
  475.     
  476. 'area';
  477. '\{ \tc 15 sub\} ';
  478.  
  479. * User Interface: \{ \tc 15   Compose Panel
  480.                         Algebraic Compositions
  481.                             Subtract\}
  482.                         
  483. \endnode
  484.  
  485. \node "swirl"
  486. \title "Swirl"
  487. \next "thick"
  488. \prev "sub"
  489. \{ \tc 15 Swirl \} - Creates a geometric swirling effect in the selected
  490. region.
  491.  
  492. \nw    
  493. Usage - '\{ \tc 15 swirl <angle>\} '
  494.     
  495. \{ \ts bu Sample Script\} :
  496.     
  497. 'area';
  498. '\{ \tc 15 swirl 360\} ';
  499.  
  500. * User Interface: \{ \tc 15   Process Panel
  501.                         Geometric
  502.                             Swirl\}
  503.  
  504. \endnode
  505.  
  506. \node "thick"
  507. \title "Thick"
  508. \next "thin"
  509. \prev "swirl"
  510. \{ \tc 15 Thick \} - Thickens pixels in  a selected region.
  511.  
  512. \nw    
  513. Usage - '\{ \tc 15 thick\} '
  514.     
  515. \{ \ts bu Sample Script\} :
  516.    
  517. 'area';
  518. '\{ \tc 15 thick\} ';
  519.     
  520. * User Interface: \{ \tc 15   Process Panel
  521.                         Filters
  522.                             Thicken\}
  523.     
  524. \endnode
  525.  
  526. \node "thin"
  527. \title "Thin"
  528. \next "tofront"
  529. \prev "thick"
  530. \{ \tc 15 Thin \} - Applies a pixel thinning procedure to a selected region.
  531.  
  532. \nw    
  533. Usage - '\{ \tc 15 thin\} '
  534.     
  535. \{ \ts bu Sample Script\} :
  536.     
  537. 'area';
  538. '\{ \tc 15 thin\} ';
  539.     
  540.     
  541. * User Interface: \{ \tc 15   Process Panel
  542.                         Filters
  543.                             Thin\}
  544.                                 
  545. \endnode
  546.  
  547. \node "tofront"
  548. \title "To the Front"
  549. \next "trendall"
  550. \prev "thin"
  551. \{ \tc 15 Tofront \} - Brings Imagemaster R/t to the front.
  552.  
  553. \nw    
  554. Usage - '\{ \tc 15 tofront\} '
  555.  
  556. \{ \ts bu Sample Script\} :
  557. 'wbtofront';
  558. 'contrast 90';
  559. '\{ \tc 15 tofront\} ';    
  560.  
  561. See Also: \{ \ts b \link "imtofront" "hlp_arexx7/imtofront"
  562.           \link "wbtofront" "hlp_arexx12/wbtofront"\}
  563.  
  564. \endnode
  565.  
  566. \node "trendall"
  567. \title "Trendall"
  568. \next "trenddraw"
  569. \prev "tofront"
  570. \{ \tc 15 Trendall \} - This command will provide you with all of the trend
  571. information for the specified trend.  
  572.  
  573. Usage - '\{ \tc 15 trendall\} ' "label"
  574.  
  575. \{ \wr The command will relay all of the trend information for the specified
  576. label.  The label and trend are set using the \{ \ts b trenddraw \} command.
  577. The \{ \ts b trenddraw \} command must be completed prior to the call for
  578. this function.  You will then need to parse these variables into a usable
  579. format.\}
  580.  
  581. \{ \ts bu Sample Script\} :
  582.  
  583. \{ \nw /* arexx Trendall Example */
  584. address('IM_Port');
  585. 'trenddraw Freddy 1 10 0 20 5 "Example Trend"';
  586. options results;
  587. '\{ \tc 15 trendall Freddy\} ';
  588. fred = result;
  589. options;
  590.  
  591. parse var fred var1 ' ' var2
  592. i = 1;
  593. do until (var1 = "")
  594.   say 'Trend at '||i||' is '||var1;
  595.   fred = var2;
  596.   parse var fred var1 ' ' var2
  597.   i = i + 1;
  598.   end;
  599.  
  600. 'finish'; \}
  601.  
  602. See Also: \{ \ts b \nw \link "More on the Multi-Frame Sequencer" "mf_hlp/mf_multiframe"
  603.           \link "          More on Trends         " "hlp_trend/hlp_curve"
  604.           \link "      The trenddraw Command      " "trenddraw"
  605.           \link "      The trendget Command       " "trendget"
  606.           \link "      The trendkill Command      " "trendkill"\}
  607.  
  608. \endnode
  609.  
  610. \node "trenddraw"
  611. \title "Trenddraw"
  612. \next "trendget"
  613. \prev "trendall"
  614. \{ \tc 15 Trenddraw \} - This command will present the user with a trend
  615. graph for setting an operation parameter over the selected sequence of
  616. images.  
  617.  
  618. Usage - '\{ \tc 15 trenddraw\} ' "label" xmin xmax ymin ymax ydefault "title"
  619.  
  620. \{ \ts b label \} - The label is the name of the trend that is used for
  621. calling the trend and saving the trend information.  The label can be of any
  622. length, but \{ \ts i must \} be quoted.
  623.  
  624. \{ \ts b xmin \} and \{ \ts b xmax \} - The xmin and xmax are used to specify
  625. the number of frames in the sequence.  The easiest way of specifying these
  626. values is displayed in the sample script where the minimum value is set to
  627. one, and the maximum value is set to the number of images that you have
  628. specified in the \{ \ts b Image Files \} list in the multi-frame sequencer.
  629. The trenddraw command does not need to be used with the sequencer, but it is
  630. highly recommended.
  631.  
  632. \{ \ts b ymin \} and \{ \ts b ymax \} - The y minimum and maximum specify the
  633. minimum and maximum values that the trend parameter can have.  For example, a
  634. contrast trend (contrast has a single parameter) can range from -100 to 100,
  635. and therefore has a ymin = -100 and a ymax = 100.
  636.  
  637. \{ \ts b ydefault \} - This is used to specify the trend parameter's initial
  638. value.  For example, the script below specifies a contrast value of zero as
  639. the ydefault.
  640.  
  641. \{ \ts b title \} - The title will be the title of the trend graph when the
  642. trenddraw command is called.  This parameter can become very important in
  643. scripts which contain multiple trenddraw commands.
  644.  
  645. \{ \ra \image "Clips/BigSplat.pic" l 10 \cap
  646. The script example below is detailed in the section on the \{ \ts b Multi-
  647. Frame Sequencer \} in this manual.  This script would be placed in the pre-
  648. render script.\}
  649.  
  650. \nw
  651. \{ \ts bu Sample Script\} :
  652.  
  653. \{ \nw /*
  654.  * TRENDEXAMPLE.rexx does an asterize trend over a sequence.
  655.  * There are three separate trends to set the rotation, number of arms,
  656.  * and the width.  The script also includes a number of settings to be 
  657.  * made by the user.  These settings only need to be made once for the
  658.  * entire animation sequence.  The name of this script should be put in 
  659.  * as the pre-render script.
  660.  */
  661.  
  662. parse arg iframe nframe '"' renderfile '"'
  663. address('IM_Port');
  664.  
  665. if iframe = 1 then do
  666.   '\{ \tc 15 trenddraw "rotate" 1 '||nframe||' 0 360 0 "Rotation"\} ';
  667.   '\{ \tc 15 trenddraw "arm" 1 '||nframe||' 1 100 4 "Arms"\} ';
  668.   '\{ \tc 15 trenddraw "width" 1 '||nframe||' 1 100 10 "Width"\} ';
  669.   options results;
  670.   'askrgb';
  671.   colors = result;
  672.   parse var colors red','grn','blu;
  673.   'askprop "% Center Saturation Percent:" 5 0 100';
  674.   sat = result;
  675.   'askyn "Taper Off" "Taper On"';
  676.   tap = result;
  677.   'askyn "Non-Additive" "Additive"';
  678.   add = result;
  679.   'askyn "No Center Hot Spot" "Center Hot Spot"';
  680.   hot = result;
  681.   options;
  682. end;
  683.   
  684. options results;
  685. 'trendget "rotate" ' iframe;
  686. rot = result;
  687. 'trendget "arm" ' iframe;
  688. arm = result;
  689. 'trendget "width" ' iframe;
  690. wid = result;
  691. options;
  692.  
  693. 'rect 10 10 120 120';
  694. 'asterize 'red grn blu wid sat tap arm rot add hot;
  695.  
  696. if iframe = nframe then do
  697.   'trendkill "rotate"'; /* Don't do this if you want to keep the curves */
  698.   'trendkill "arm"';
  699.   'trendkill "width"';
  700.   end;
  701.  
  702. 'finish';\}
  703.  
  704. See Also: \{ \ts b \nw \link "More on the Multi-Frame Sequencer" "mf_hlp/mf_multiframe"
  705.           \link "          More on Trends         " "hlp_trend/hlp_curve"
  706.           \link "      The trendall Command       " "trendall"
  707.           \link "      The trendget Command       " "trendget"
  708.           \link "      The trendkill Command      " "trendkill"\}
  709.  
  710. \endnode
  711.  
  712. \node "trendget"
  713. \title "Trendget"
  714. \next "trendkill"
  715. \prev "trenddraw"
  716. \{ \tc 15 Trendget \} - The trendget command is used to retrieve a value from
  717. a specified trend for a specified frame.  You supply the command with the
  718. trend label, and the frame number (this is generally the variable \{ \ts b
  719. iframe\} ).
  720.  
  721. Usage - '\{ \tc 15 trendget\} ' "label" position
  722.  
  723. \{ \ts b label \} - The label is the name of the trend that is used for
  724. calling the trend and retrieving the trend information.  The label can be of
  725. any length, but it \{ \ts i must \} be quoted.
  726.  
  727. \{ \ts b position \} - The position tells the trendget command which variable
  728. it should return.  The position variable should be the same as the current
  729. frame number.  This is quite easy to accomplish in the multi-frame sequencer.
  730. The sample script below contains a line which places the current frame
  731. number and the total number of frames into two variables iframe and nframe.
  732. The iframe variable, or current frame, can be used to set the position
  733. variable.  This technique is used in the sample script below.
  734.  
  735. \{ \nw /*
  736.  * TRENDEXAMPLE.rexx does an asterize trend over a sequence.
  737.  * There are three separate trends to set the rotation, number of arms,
  738.  * and the width.  The script also includes a number of settings to be 
  739.  * made by the user.  These settings only need to be made once for the
  740.  * entire animation sequence.  The name of this script should be put in 
  741.  * as the pre-render script.
  742.  */
  743.  
  744. parse arg iframe nframe '"' renderfile '"'
  745. address('IM_Port');
  746.  
  747. if iframe = 1 then do
  748.   'trenddraw "rotate" 1 '||nframe||' 0 360 0 "Rotation"';
  749.   'trenddraw "arm" 1 '||nframe||' 1 100 4 "Arms"';
  750.   'trenddraw "width" 1 '||nframe||' 1 100 10 "Width"';
  751.   options results;
  752.   'askrgb';
  753.   colors = result;
  754.   parse var colors red','grn','blu;
  755.   'askprop "% Center Saturation Percent:" 5 0 100';
  756.   sat = result;
  757.   'askyn "Taper Off" "Taper On"';
  758.   tap = result;
  759.   'askyn "Non-Additive" "Additive"';
  760.   add = result;
  761.   'askyn "No Center Hot Spot" "Center Hot Spot"';
  762.   hot = result;
  763.   options;
  764. end;
  765.   
  766. options results;
  767. '\{ \tc 15 trendget "rotate" ' iframe\} ;
  768. rot = result;
  769. '\{ \tc 15 trendget "arm" ' iframe\} ;
  770. arm = result;
  771. '\{ \tc 15 trendget "width" ' iframe\} ;
  772. wid = result;
  773. options;
  774.  
  775. 'rect 10 10 120 120';
  776. 'asterize 'red grn blu wid sat tap arm rot add hot;
  777.  
  778. if iframe = nframe then do
  779.   'trendkill "rotate"'; /* Don't do this if you want to keep the curves */
  780.   'trendkill "arm"';
  781.   'trendkill "width"';
  782.   end;
  783.  
  784. 'finish';\}
  785.  
  786. See Also: \{ \ts b \nw \link "More on the Multi-Frame Sequencer" "mf_hlp/mf_multiframe"
  787.           \link "          More on Trends         " "hlp_trend/hlp_curve"
  788.           \link "      The trendall Command       " "trendall"
  789.           \link "      The trenddraw Command      " "trenddraw"
  790.           \link "      The trendkill Command      " "trendkill"\}
  791.  
  792. \endnode
  793.  
  794. \node "trendkill"
  795. \title "Trendkill"
  796. \next "ftween"
  797. \prev "trendget"
  798. \{ \tc 15 Trendkill \} - The trendkill command is used to kill a specified
  799. trend.  This process is optional, and is not necessary for proper execution
  800. of the script.  The trendkill simply uses the same label that was initially
  801. specified using the \{ \ts b trenddraw \} command.  It is important to
  802. remember that once a trend is killed it will be completely deleted.  The
  803. sample script below determines if the sequence has completed the last frame,
  804. and if so, it will kill all of the specified trends.  The lines which kill
  805. the trends are \{ \ts i optional\} , and will not effect the accuracy or
  806. performance of the script in any way.
  807.  
  808. \nw
  809. Usage - '\{ \tc 15 trendkill\} ' "label"
  810.  
  811. \{ \nw /*
  812.  * TRENDEXAMPLE.rexx does an asterize trend over a sequence.
  813.  * There are three separate trends to set the rotation, number of arms,
  814.  * and the width.  The script also includes a number of settings to be 
  815.  * made by the user.  These settings only need to be made once for the
  816.  * entire animation sequence.  The name of this script should be put in 
  817.  * as the pre-render script.
  818.  */
  819.  
  820. parse arg iframe nframe '"' renderfile '"'
  821. address('IM_Port');
  822.  
  823. if iframe = 1 then do
  824.   'trenddraw "rotate" 1 '||nframe||' 0 360 0 "Rotation"';
  825.   'trenddraw "arm" 1 '||nframe||' 1 100 4 "Arms"';
  826.   'trenddraw "width" 1 '||nframe||' 1 100 10 "Width"';
  827.   options results;
  828.   'askrgb';
  829.   colors = result;
  830.   parse var colors red','grn','blu;
  831.   'askprop "% Center Saturation Percent:" 5 0 100';
  832.   sat = result;
  833.   'askyn "Taper Off" "Taper On"';
  834.   tap = result;
  835.   'askyn "Non-Additive" "Additive"';
  836.   add = result;
  837.   'askyn "No Center Hot Spot" "Center Hot Spot"';
  838.   hot = result;
  839.   options;
  840. end;
  841.   
  842. options results;
  843. 'trendget "rotate" ' iframe;
  844. rot = result;
  845. 'trendget "arm" ' iframe;
  846.  = result;
  847. 'trendget "width" ' iframe;
  848. wid = result;
  849. options;
  850.  
  851. 'rect 10 10 120 120';
  852. 'asterize 'red grn blu wid sat tap arm rot add hot;
  853.  
  854. if iframe = nframe then do
  855.   '\{ \tc 15 trendkill "rotate"\} '; /* Don't do this if you want to keep the curves */
  856.   '\{ \tc 15 trendkill "arm"\} ';
  857.   '\{ \tc 15 trendkill "width"\} ';
  858.   end;
  859.  
  860. 'finish';\}
  861.  
  862. See Also: \{ \ts b \nw \link "More on the Multi-Frame Sequencer" "mf_hlp/mf_multiframe"
  863.           \link "          More on Trends         " "hlp_trend/hlp_curve"
  864.           \link "      The trendall Command       " "trendall"
  865.           \link "      The trenddraw Command      " "trenddraw"
  866.           \link "      The trendget Command       " "trendget"\}
  867.  
  868. \endnode
  869.  
  870. \node "ftween"
  871. \title "FTween"
  872. \next "tween"
  873. \prev "trendkill"
  874. \{ \tc 15 FTween \} - Provides intermediate values for Multi-Frame Sequence.
  875.  
  876. FTween ('\{ \tc 15 ftween <startvalue> <loopendvalue>\} ') returns the in between
  877. values needed to create a Multi-Frame Sequence which is intended to run in a
  878. loop, such as a rotation.
  879.  
  880. An example would be a rotating asterize effect, where the next to last frame
  881. needs to be applied such that the effect is one frame "short" of the effect
  882. of the first frame.
  883.  
  884. Here is why you need to use FTween, instead of Tween to accomplish this in a
  885. general manner:
  886.  
  887. Rotation is specified in degrees from 0 to 360. However, 360 is the
  888. \ts i same \ts n as the value zero! So if you go from 0 to 360, you have two
  889. identical frames, which would cause a "jerk" in a looping animation.
  890.  
  891. FTween "knows" about this situation; so instead of calculating steps from 0
  892. to 360, it adjusts the calculation so that the total number of frames used to
  893. calculate the intermediate values does not include the final frame.
  894.  
  895. Here's the math Imagemaster R/t performs for the \{ \ts b FTween \} command:
  896.  
  897. \nw
  898.     \{ \tc DarkBlue FrameValue = LastFrame + ((Endvalue - BeginningValue) / TotalFrames) \}
  899.  
  900. \nw
  901. For example, with 6 frames '\{ \tc 15 ftween 0 360\} ' will return:
  902.  
  903.   0   in frame 1 \{ \ts b (remember 0 is the same as 360 for rotations) \}
  904.   60  in frame 2 \{ \ts b (note step size: "60")\}
  905.  120  in frame 3
  906.  180  in frame 4
  907.  240  in frame 5
  908.  300  in frame 6 \{ \ts b (the last frame is 60 "away" from 360 - and zero!) \}
  909.     
  910. If the number of frames is changed to 10 (by changing the number of frames or
  911. selecting more images)  '\{ \tc 15 tween 0 360\} ' will return:
  912.      
  913.     0 in frame  1 \{ \ts b (remember 0 is the same as 360 for rotations) \}
  914.    36 in frame  2 \{ \ts b (note step size: "36")\}
  915.    72 in frame  3
  916.   108 in frame  4
  917.   144 in frame  5
  918.   180 in frame  6
  919.   216 in frame  7
  920.   252 in frame  8 
  921.   288 in frame  9
  922.   324 in frame 10 \{ \ts b (the last frame is 36 "away" from 360 - and zero!) \}
  923.     
  924. Usage - '\{ \tc 15 ftween <startvalue> <loopendvalue>\} ';
  925.  
  926. \{ \ts bu Sample Script\} :
  927.    
  928. 'entire';
  929. options results;
  930. \{ \tc 15 'FTween 0 360';\}
  931. 'ast' 255 255 0 25 50 1 4 result 0 0;
  932. 'finish';
  933.  
  934. Here's what it looks like:
  935.  
  936. \anim "clips/SpinAst.anim" c 0
  937. \flushimage
  938. \{ \ce
  939. \anlink " \tc DarkBlue Play Anim " 0 N 3 100\}
  940.  
  941. \nw
  942. See Also: \{ \ts b \link " Tween " "tween"\}
  943.  
  944. \endnode
  945.  
  946. \node "tween"
  947. \title "Tween"
  948. \next "unantique"
  949. \prev "ftween"
  950. \{ \tc 15 Tween \} - Provides intermediate values for Multi-Frame Sequence.
  951.  
  952. Tween ('\{ \tc 15 tween <startvalue> <endvalue>\} ') returns the in between
  953. values needed to create a Multi-Frame Sequence.  For instance to create a 6
  954. frame sequence where contrast begins at 0 and reaches 100 in the final frame,
  955. '\{ \tc 15 tween 0 100\} ' will use the total number of frames and the
  956. difference between the first and last frame (in this case 100) to generate
  957. the intermediate values needed for the sequence.
  958.     
  959. Here's the math Imagemaster R/t performs for the \{ \ts b Tween \} command:
  960.  
  961. \nw
  962.     \{ \tc DarkBlue FrameValue = LastFrame + ((Endvalue - BeginningValue) / TotalFrames-1) \}
  963.  
  964. \nw
  965. For 6 frames '\{ \tc 15 tween 0 100\} ' will return:
  966.  
  967.   0   in frame 1
  968.   20  in frame 2 
  969.   40  in frame 3
  970.   60  in frame 4
  971.   80  in frame 5
  972.   100 in frame 6
  973.     
  974. If the number of frames is changed to 10 (by changing the number of frames or
  975. selecting more images)  '\{ \tc 15 tween 0 100\} ' will return:
  976.      
  977.   0   in frame 1
  978.   11  in frame 2 
  979.   22  in frame 3
  980.   33  in frame 4
  981.   44  in frame 5
  982.   55  in frame 6
  983.   66  in frame 7
  984.   77  in frame 8 
  985.   88  in frame 9
  986.   100 in frame 10   
  987.     
  988. Usage - '\{ \tc 15 tween <startvalue> <endvalue>\} ';
  989.  
  990. \{ \ts bu Sample Script\} :
  991.    
  992. options results; 
  993. 'entire';         
  994. '\{ \tc 15 tween 0 100\} ';
  995. 'contrast '||result; 
  996. 'finish';         
  997.     
  998. \nw
  999. See Also: \{ \ts b \link " FTween " "ftween"\}
  1000.  
  1001. \endnode
  1002.  
  1003. \node "unantique"
  1004. \title "Unantique"
  1005. \next "undo"
  1006. \prev "tween"
  1007. \{ \tc 15 Unantique \} - Reverses the antique effect.
  1008.  
  1009. \nw    
  1010. Usage - '\{ \tc 15 unantique\} ';
  1011.    
  1012. \{ \ts bu Sample Script\} :
  1013.     
  1014. 'area';
  1015. '\{ \tc 15 unantique\} ';
  1016.     
  1017. See Also: \{ \ts b \link "antique" "hlp_arexx4/antique"\}
  1018.     
  1019. * User Interface: \{ \tc 15  Process Panel
  1020.                          Filters
  1021.                            Un-Antique\}
  1022.  
  1023. \endnode
  1024.  
  1025. \node "undo"
  1026. \title "Undo"
  1027. \next "unlockall"
  1028. \prev "unantique"
  1029. \{ \tc 15 Undo \} - Invokes the undo function.
  1030.  
  1031. \nw    
  1032. Usage - '\{ \tc 15 undo\} '
  1033.     
  1034. \{ \ts bu Sample Script\} :
  1035.     
  1036. 'area';
  1037. 'contrast 90';
  1038. options results;
  1039. 'askyn Undo Continue';
  1040. answer = result;
  1041. options;
  1042. if answer = 0 then 
  1043.    do
  1044.     '\{ \tc 15 undo'\} ;
  1045.      exit 0;
  1046.     end;
  1047.       
  1048. * User Interface: \{ \tc 15 Undo\}
  1049.     
  1050. \endnode
  1051.  
  1052. \node "unlockall"
  1053. \title "Unlockall"
  1054. \next "unlockimage"
  1055. \prev "undo"
  1056. \{ \tc 15 Unlock \} - Unlocks all previously locked buffers.
  1057.  
  1058. \nw    
  1059. Usage - '\{ \tc 15 unlockall\} ';
  1060.     
  1061. \{ \ts bu Sample Script\} :
  1062.  
  1063. '\{ \tc 15 unlock\} ';
  1064.     
  1065. See Also: \{ \ts b \link "lockimage  " "hlp_arexx8/lockimage"
  1066.           \link "unlockimage" "unlockimage"\}
  1067.   
  1068. * User Interface: \{ \tc 15   Buffer Panel
  1069.                         Unlock a Buffer\}
  1070.  
  1071. \endnode
  1072.  
  1073. \node "unlockimage"
  1074. \title "Unlockimage"
  1075. \next "unlockprimary"
  1076. \prev "unlockall"
  1077. \{ \tc 15 Unlockimage \} - Unlocks an individual image.
  1078.  
  1079. \nw    
  1080. Usage - '\{ \tc 15 unlockimage <buffer_number>\} '
  1081.     
  1082. \{ \ts bu Sample Script\} :
  1083.     
  1084. '\{ \tc 15 unlockimage 3\} ';
  1085.      
  1086. See Also: \{ \ts b \link "lockimage" "hlp_arexx8/lockimage"\}
  1087.     
  1088. * User Interface: \{ \tc 15   Buffer Panel
  1089.                         Unlock a Buffer\}
  1090.  
  1091. \endnode
  1092.  
  1093. \node "unlockprimary"
  1094. \title "Unlock primary buffer"
  1095. \next "unlocksecondary"
  1096. \prev "unlockimage"
  1097. \{ \tc 15 Unlockprimary \} - Unlocks the Primary Buffer.
  1098.  
  1099. \nw    
  1100. Usage - '\{ \tc 15 unlockprimary\} ';
  1101.     
  1102. \{ \ts bu Sample Script\} :
  1103.     
  1104. '\{ \tc 15 unlockprimary\} ';
  1105.  
  1106. See Also: \{ \ts b \link "lockimage" "hlp_arexx8/lockimage"\}
  1107.     
  1108. * User Interface: \{ \tc 15   Buffer Panel
  1109.                         Unlock a Buffer\}
  1110. \endnode
  1111.  
  1112. \node "unlocksecondary"
  1113. \title "Unlock Secondary"
  1114. \next "unplug"
  1115. \prev "unlockprimary"
  1116. \{ \tc 15 Unlocksecondary \} - Unlocks the secondary buffer.
  1117.  
  1118. \nw    
  1119. Usage - '\{ \tc 15 unlocksecondary\} '
  1120.     
  1121. \{ \ts bu Sample Script\} :
  1122.     
  1123. '\{ \tc 15 unlocksecondary\} ';   
  1124.      
  1125. See Also: \{ \ts b \link "lockimage" "hlp_arexx8/lockimage"\}
  1126.     
  1127. * User Interface: \{ \tc 15   Buffer Panel
  1128.                         Unlock a Buffer\}
  1129.  
  1130. \endnode
  1131.  
  1132. \node "unplug"
  1133. \title "Unplug"
  1134. \next "userload"
  1135. \prev "unlocksecondary"
  1136. \{ \tc 15 Unplug \} - Required after the use of Plugin.
  1137.  
  1138. \nw    
  1139. Usage - '\{ \tc 15 unplug <plugpointer>\} '
  1140.     
  1141. \{ \ts bu Sample Script\} :
  1142.     
  1143. options results; 
  1144. 'plugin';
  1145. plug = result; 
  1146. options; 
  1147. 'backuptoundo';
  1148. address command; 
  1149. 'cmpi:myfile '||plugptr;
  1150. '\{ \tc 15 unplug\} ';      
  1151. address(prtnme);
  1152. 'redraw';
  1153.  
  1154. \endnode
  1155.  
  1156. \node "userload"
  1157. \title "Userload"
  1158. \next "version"
  1159. \prev "unplug"
  1160. \{ \tc 15 Userload \} - Loads an image buffer, and the user selects the
  1161. target for the buffer.
  1162.  
  1163. Uses the current image path and extension and to load an image. 
  1164.     
  1165. \nw    
  1166. Usage - '\{ \tc 15 userload <filename>\} '
  1167.     
  1168. \{ \ts bu Sample Script\} :
  1169.  
  1170. options results;
  1171. 'askstring "Buffername:" "myfile"'name;
  1172. name = result;
  1173. options;
  1174. '\{ \tc 15 userload\} ' name;
  1175.  
  1176. \endnode
  1177.  
  1178. \node "version"
  1179. \title "Version"
  1180. \next "vertflip"
  1181. \prev "userload"
  1182. \{ \tc 15 Version \} - Returns a string with the current Version and Revision.
  1183.  
  1184. \nw    
  1185. Usage - '\{ \tc 15 version\} ' 
  1186.     
  1187. \{ \ts bu Sample Script\} :
  1188.  
  1189. options results;
  1190. '\{ \tc 15 version\} ';
  1191. info = result;
  1192. parse var info version','revision;
  1193. options;
  1194. 'message Version: 'version' Revision: ' revision;
  1195.  
  1196. \endnode
  1197.  
  1198. \node "vertflip"
  1199. \title "Vertical Flip" 
  1200. \next ""
  1201. \prev "version"
  1202. \{ \tc 15 Vertflip \} - Each column in a selected region is fliped vertically.
  1203.  
  1204. \nw    
  1205. Usage - '\{ \tc 15 vertflip [mask flip 1 or 0]\} '
  1206.  
  1207. The optional mask flip parameter allows you to flip the image's mask or to
  1208. flip the image within its mask.  A setting of 1 or ON will flip the image and
  1209. the mask, and a setting of 0 or OFF will flip the image within the mask.
  1210.  
  1211. \{ \ts bu Sample Script\} :
  1212.     
  1213. 'area';
  1214. '\{ \tc 15 vertflip\} ';
  1215.     
  1216. * User Interface: \{ \tc 15   Process Panel
  1217.                         Geometric Transformations
  1218.                              Vert Flip\}
  1219.  
  1220. \endnode
  1221.  
  1222.